using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestImport.PlatoBestellingen
{
    public partial class PlatoBestellingRegistratie : Form
    {
        private PlatoBestellingCreatie platoBestellingCreatie = null;
        private BestellingenBeheren bestellingenBeheren = null;
        private PlatoRetour platoRetour = null;
        private string status;
        public PlatoBestellingRegistratie(PlatoBestellingCreatie platoBestellingCreatie, string totaal, string lijst, string status)
        {
            InitializeComponent();
            this.BackColor = InstParameters.Default.schermkleur;
            lblTotaal.Text = totaal;
            txtLijst.Text = lijst;
            dtpBestelDatum.Focus();
            this.platoBestellingCreatie = platoBestellingCreatie;
            this.status = status;
            if (status.Equals("RETOUR"))
            {
                Text = "Registreer PLATO retour";
                btnRegistreer.Text = "Registreer retour";
            }
            if (status.Equals("ANNULATIE"))
            {
                Text = "Registreer PLATO annulaties";
                btnRegistreer.Text = "Registreer annulatie";
            }
            
        }

        public PlatoBestellingRegistratie(BestellingenBeheren bestellingenBeheren, string totaal, string lijst, string status, string opmerkingIntern, string opmerkingPlato, DateTime bestelDatum)
        {
            InitializeComponent();
            lblTotaal.Text = totaal;
            txtLijst.Text = lijst;
            dtpBestelDatum.Focus();
            this.bestellingenBeheren = bestellingenBeheren;
            this.status = status;
            txtOpmerkingIntern.Text = opmerkingIntern;
            txtOpmerkingPlato.Text = opmerkingPlato;
            dtpBestelDatum.Value = bestelDatum;
            if (status.ToUpper().Equals("RETOUR"))
            {
                Text = "Registreer PLATO retour";
                btnRegistreer.Text = "Registreer retour";
            }
            if (status.ToUpper().Equals("ANNULATIE"))
            {
                Text = "Registreer PLATO annulaties";
                btnRegistreer.Text = "Registreer annulatie";
            }
        }

        public PlatoBestellingRegistratie(PlatoRetour platoRetour, string totaal, string lijst, string status)
        {
            InitializeComponent();
            lblTotaal.Text = totaal;
            txtLijst.Text = lijst;
            dtpBestelDatum.Focus();
            this.platoRetour = platoRetour;
            this.status = status;
            Text = "Registreer PLATO retour";
            btnRegistreer.Text = "Registreer retour";
            gpbSorteer.Visible = false;
        }

        private void btnSluit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        
        private void btnRegistreer_Click(object sender, EventArgs e)
        {
            string sorteer = "Niet";
            if (rbtCategorie.Checked) sorteer = "Categorie";
            if (rbtTitel.Checked) sorteer = "Titel";
            if (rbtUitgever.Checked) sorteer = "Uitgever";
            if (platoBestellingCreatie != null)
            {
                if (status.Equals("BESTELLING"))
                    platoBestellingCreatie.registreerBestelling(dtpBestelDatum.Value, txtOpmerkingIntern.Text, txtOpmerkingPlato.Text,sorteer);
                else
                    platoBestellingCreatie.registreerRetour_annulatie(dtpBestelDatum.Value, txtOpmerkingIntern.Text, txtOpmerkingPlato.Text,sorteer);
                this.Close();
            }
            else
            {
                 if (bestellingenBeheren != null)
                 {   
                    bestellingenBeheren.herschrijfBestand(dtpBestelDatum.Value, txtOpmerkingPlato.Text, txtOpmerkingIntern.Text, sorteer);
                    this.Close();
                 } 
                 else
                 {
                      if (platoRetour != null)
                      {
                          platoRetour.registreerRetour(dtpBestelDatum.Value, txtOpmerkingIntern.Text, txtOpmerkingPlato.Text, "Uitgever");
                      } 
                 }           
            }
        }

        
    }
}